package com.study.demo;

import java.io.File;
import java.io.IOException;

/**
 * java获取当前路径的几种方法
1. 利用System.getProperty()函数获取当前路径： 
System.out.println(System.getProperty("user.dir"));//user.dir指定了当前的路径 

2. 使用File提供的函数获取当前路径： 
File directory = new File("");//设定为当前文件夹 
try{ 
    System.out.println(directory.getCanonicalPath());//获取标准的路径 
    System.out.println(directory.getAbsolutePath());//获取绝对路径 
}catch(Exceptin e){} 

File.getCanonicalPath()和File.getAbsolutePath()大约只是对于new File(".")和new File("..")两种路径有所区别。 

# 对于getCanonicalPath()函数，“."就表示当前的文件夹，而”..“则表示当前文件夹的上一级文件夹 
# 对于getAbsolutePath()函数，则不管”.”、“..”，返回当前的路径加上你在new File()时设定的路径 
# 至于getPath()函数，得到的只是你在new File()时设定的路径 

 */
public class GetPath {

	public static void main(String[] args) {
		System.out.println(System.getProperty("user.dir"));  //D:\12springboot\workspace\study.demo
		
		//File file = new File("../abc.txt");
		//File file = new File("./abc.txt");
		File file = new File("abc.txt");  //--> 三种情况不一样
		
		try {
			System.out.println(file.getCanonicalPath()); ////获取标准的路径 
			
			System.out.println(file.getAbsolutePath()); //获取绝对路径 
		} catch (IOException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		
		System.out.println(Class.class.getClass().getResource("/").getPath());
	}
}
